function mxImageShape(bounds, image, fill, stroke, strokewidth)
{
	this.bounds = bounds;
	this.image = image;
	this.fill = fill;
	this.stroke = stroke;
	this.strokewidth = strokewidth || 0;
	this.isShadow = false;
};
mxImageShape.prototype = new mxShape();
mxImageShape.prototype.constructor = mxImageShape;
mxImageShape.prototype.create = function()
{
	var node = null;

	if (this.dialect == mxConstants.DIALECT_SVG)
	{
		node = this.createSvgGroup('rect');
		this.innerNode.setAttribute('fill', this.fill);
		this.innerNode.setAttribute('visibility', 'hidden');
		this.innerNode.setAttribute('pointer-events', 'fill');
		this.imageNode = document.createElementNS(mxConstants.NS_SVG, 'image');
		this.imageNode.setAttributeNS(mxConstants.NS_XLINK, 'xlink:href', this.image);
		this.imageNode.setAttribute('style', 'pointer-events:none');
		this.configureSvgShape(this.imageNode);
		this.imageNode.removeAttribute("stroke");
		this.imageNode.removeAttribute("fill");
		node.insertBefore(this.imageNode, this.innerNode);
	}
	else
	{
		if (this.dialect == mxConstants.DIALECT_STRICTHTML || this.dialect == mxConstants.DIALECT_PREFERHTML)
		{
			node = document.createElement('DIV');
			this.configureHtmlShape(node);
			var imgName = this.image.toUpperCase()

			if (imgName.substring(imgName.length - 3, imgName.length) == "PNG" && mxClient.IS_IE && !mxClient.IS_IE7)
			{
				node.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader (src=\'' + this.image
					+ '\', sizingMethod=\'scale\')';
			}
			else
			{
				var img = document.createElement('img');
				img.setAttribute('src', this.image);
				img.style.width = '100%';
				img.style.height = '100%';
				img.setAttribute('border', '0');
				node.appendChild(img);
			}
		}
		else
		{
			node = document.createElement('v:image');
			node.setAttribute('src', this.image);
			this.configureVmlShape(node);
		}
	}
	return node;
};
mxImageShape.prototype.redrawSvg = function()
{
	this.updateSvgShape(this.innerNode);
	this.updateSvgShape(this.imageNode);
};